module org.king {
    // ----------- 基础依赖 -----------
    requires javafx.controls;
    requires javafx.fxml;
    requires java.desktop;
    requires java.sql;
    requires mysql.connector.j;
    requires com.zaxxer.hikari;
    requires static lombok;

    // ----------- Spring & MyBatis -----------
    requires spring.core;
    requires spring.beans;
    requires spring.context;
    requires org.mybatis;
    requires org.mybatis.spring;
    requires javax.annotation.api;
    requires org.slf4j;

    // ----------- 所有需要导出给其他模块的包 -----------
    exports org.king;
    exports org.king.config;
    exports org.king.controller;
    exports org.king.controller.auth;
    exports org.king.service.impl;
    exports org.king.mapper;
    exports org.king.util;
    exports org.king.entity;
    exports org.king.entity.vo;
    exports org.king.service;

    // ----------- 所有需要 Spring 反射访问的包 -----------
    opens org.king.entity to spring.core, spring.beans, javafx.base;
    opens org.king.entity.vo to spring.core, spring.beans, javafx.base;
    opens org.king.config to spring.core, spring.beans;
    opens org.king.service.impl to spring.core, spring.beans;
    opens org.king.controller to spring.core, spring.beans, javafx.fxml;
    opens org.king.controller.auth to spring.core, spring.beans, javafx.fxml;
}
